from base import webdriver, By
import os

driver = webdriver.Chrome()
url = 'file:///' + os.path.abspath('html') + '/frame.html'
driver.get(url)

# 打开链接默认定位是在主页frame
"""
切换到指定frame的3种方式:
iframe标签的name值
iframe标签的id值
iframe标签的webelement对象
"""
# 切换到inner (f1)
driver.switch_to.frame('f1')    # inner的iframe标签的id值
inner_h3 = driver.find_element(By.ID, 'inner_h3')
print(inner_h3.get_attribute('outerHTML'))

# 切换到inner_sub (f2)
f2 = driver.find_element(By.ID, 'f2')
driver.switch_to.frame(f2)    # inner_sub的iframe标签的webelement对象
print(driver.find_element(By.ID, 'p1').get_attribute('outerHTML'))

# 切换到父级frame
driver.switch_to.parent_frame()  # f2 -> f1
print(driver.find_element(By.TAG_NAME, 'h3').get_attribute('outerHTML'))

# 切换到主页面
driver.switch_to.default_content()  # 默认页面
print(driver.find_element(By.TAG_NAME, 'h3').get_attribute('outerHTML'))

driver.quit()
